package com.kevin.utility.common;

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;


public class TimeUtils {
	
	/**
	 * 获取当前时间的unix时间戳
	 * @return
	 */
	public static long getUnixTime(){
		return getUnixTime(new Date());
	}
	
	/**
	 * 获取unix时间戳
	 * @param date
	 * @return
	 */
	public static long getUnixTime(Date date){
		return date.getTime();
	}
	
	/**
	 * 获取China unix时间戳
	 * @param date
	 * @return
	 */
	public static long getChinaUnixTime(Date date){
		return DateUtils.addDays(date, 8).getTime();
	}
	
	/**
	 * 获取当前的时区
	 * @return
	 */
	public static String getTimeZone(){
		return System.getProperty("user.timezone");
	}
	
	/**
	 * 获取时区信息
	 * @return
	 */
	public static String getTimeZoneMessage(){
		return TimeZone.getDefault().toString();
	}
	
	/**
	 * 获取中国时差
	 * @return
	 */
	public static String getChinaTimeZoneId(){
		return "GMT+8";
	}
	
	/**
	 * 获取中国时区
	 * @return
	 */
	public static TimeZone getChinaTimeZone(){
		return TimeZone.getTimeZone(getChinaTimeZoneId());
	}
	
	/**
	 * 获取java标准中当前日期对应在一周中的序列数
	 * @return
	 */
	public static int getIndexDayOfWeek(){
		Date today = new Date();
        Calendar c=Calendar.getInstance();
        c.setTime(today);
        return c.get(Calendar.DAY_OF_WEEK);
	}
}
